home *** CD-ROM | disk | FTP | other *** search
/ Die Speccy' 97 / Die Speccy' 97.iso / amiga_system / the_aminet / comm / mail / netmail_13.lha / NetMail / Drivers / MMencode.encoder < prev    next >
Text File  |  1995-09-30  |  2KB  |  54 lines

  1. /*
  2. ** $VER: MMencode.encoder 1.3 (30.9.95)
  3. ** Copyright (c) 1995 Riccardo Solmi
  4. **
  5. */
  6.  
  7. OPTIONS RESULTS
  8. OPTIONS FAILAT 21
  9.  
  10. IF UPPER(ARG(1)) = 'INFO' THEN RETURN 'Base64 Quoted-Printable'
  11.  
  12. cmd = 'AmiTCP:bin/MMencode'
  13. IF ~EXISTS(cmd) THEN DO
  14.    cmd = GetVar('NetMail/MMencodeCmd')
  15.    IF cmd = 0 | ~EXISTS(cmd) THEN DO
  16.       ADDRESS COMMAND 'SetEnv NetMail/MMencodeCmd `Which "MMencode"`'
  17.       cmd = GetVar('NetMail/MMencodeCmd')
  18.       IF cmd = 0 THEN DO
  19.          ADDRESS COMMAND 'SetEnv NetMail/MMencodeCmd `RequestFile Title "Select MMencode command" Noicons`'
  20.          cmd = GetVar('NetMail/MMencodeCmd')
  21.          IF cmd = 0 | ~EXISTS(cmd) THEN DO
  22.             IF UPPER(ARG(1)) = 'ENCODE' THEN RETURN 2
  23.                                         ELSE RETURN ''
  24.          END
  25.          ADDRESS COMMAND 'Copy QUIET ENV:NetMail/MMencodeCmd ENVARC:NetMail/MMencodeCmd'
  26.       END
  27.    END
  28. END
  29.  
  30. SELECT
  31.    WHEN UPPER(ARG(1)) = 'ENCODE' THEN DO
  32.       PARSE ARG , from, dest, format
  33.  
  34.       IF UPPER(format) = 'BASE64' THEN
  35.          ADDRESS COMMAND '"'cmd'" >"'dest'" "'from'"'
  36.       ELSE IF UPPER(format) = 'QUOTED-PRINTABLE' THEN
  37.          ADDRESS COMMAND '"'cmd'" >"'dest'" -q "'from'"'
  38.  
  39.       RETURN RC
  40.    END
  41.    WHEN UPPER(ARG(1)) = 'DECODE' THEN DO
  42.       PARSE ARG , from, dest, format
  43.  
  44.       IF UPPER(format) = 'BASE64' THEN
  45.          ADDRESS COMMAND '"'cmd'" >"'dest'" -u "'from'"'
  46.       ELSE IF UPPER(format) = 'QUOTED-PRINTABLE' THEN
  47.          ADDRESS COMMAND '"'cmd'" >"'dest'" -u -q "'from'"'
  48.  
  49.       RETURN RC
  50.    END
  51.    OTHERWISE
  52. END
  53. RETURN ''
  54.